package com.cuckoo.cuckoo_app2.utils;

import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.widget.Toast;

import java.util.HashMap;
import java.util.Map;

public class HandlerUtils {

    /**
     * 将原始Map中的值转换为字符串类型，生成一个新的Map。
     * 此方法适用于需要将Map中的对象值转为字符串场景，例如序列化或日志记录。
     *
     * @param originalMap 原始的Map，其中包含任意类型的值。
     * @return 返回一个新的Map，其中所有值都被转换为字符串类型。
     */
    public static Map<String, String> convertToStringMap(Map<String, Object> originalMap) {
        // 初始化一个新的HashMap用于存储转换后的键值对
        Map<String, String> convertedMap = new HashMap<>();

        // 遍历原始Map的每个条目
        for (Map.Entry<String, Object> entry : originalMap.entrySet()) {
            // 将当前条目的值转换为字符串
            // 调用toString()方法将值转换为String
            String valueAsString = entry.getValue().toString();
            // 将转换后的字符串值与原键一起放入新Map中
            convertedMap.put(entry.getKey(), valueAsString);
        }

        // 返回转换后的Map
        return convertedMap;
    }

    /**
     * 复制文本到剪贴板
     *
     * @param text 要复制的文本
     */
    public static void copyTextToClipboard(Context context, String text) {
        ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
        ClipData clip = ClipData.newPlainText("label", text);
        clipboard.setPrimaryClip(clip);
        // 可以在这里添加Toast提示用户文本已复制
        Toast.makeText(context, "复制成功", Toast.LENGTH_SHORT).show();
    }
}
